-
Notifications
You must be signed in to change notification settings - Fork 4.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ledger-tool: support Geyser accounts updates #26909
Conversation
not sure why CI failed. probably timeout |
Yep, timed out ... I just rekicked for ya |
e07c1f0
to
034cf55
Compare
let (confirmed_bank_sender, confirmed_bank_receiver) = unbounded(); | ||
drop(confirmed_bank_sender); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lijunwangs can you comment on whether it's ok to setup the geyser plugin service without slot/block notifications? It looks like we expect to send block metadata notifications whenever account data notifications are enabled:
) = if account_data_notifications_enabled || transaction_notifications_enabled { |
If it's ok, I think it would be better to change the confirmed_bank_receiver
arg in GeyserPluginService::new
to an Option
and pass None
instead of a receiver that will never be triggered.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is currently no means to disable block/slot notifications. The plugin implementation can itself just ignore the calls when called if they decided it is needed. I think at least the slot status is needed to make determination of the accounts data, otherwise we would not know if the accounts update are really accepted by the network.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@terorie have you looked into setting up a slot status notification sender that can be used by the ledger tool? Or do you not need it for your use-case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
have you looked into setting up a slot status notification sender that can be used by the ledger tool?
@jstarry my end-goal is making the ledger-tool verify
callback stream a drop-in replacement for validator
. I thought it makes sense to split functionality into separate PRs but I'm happy to add all 3 (slot updates, accounts, transactions) to this one.
Or do you not need it for your use-case?
I only need account updates (for https://bpf.wtf/sol-state-history/) but a few users on CT reached out saying they want to backfill their Geyser infra with ledger-tool. I can see the value in only having to build a single Geyser integration for both history & real-time indexing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I'm happy with separate PR's, just wanted to make sure this PR puts geyser support in a useful state, which it seems it does
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
@terorie Can you please rebase and resolve conflicts? |
Pull request has been modified.
@lijunwangs done sir |
Problem
See #26886
Support Geyser plugins in
solana-ledger-tool verify
Summary of Changes
Adds
--geyser-plugin-config
flag to ledger-tool.Only supports account updates for now.
Fixes #